import React from "react";

class Child1 extends React.Component {
  // props的默认值的固定写法
  // static表示的是类的私有属性(静态属性)
  // static defaultProps = {
  //   name: "tom",
  //   age: 20,
  // };
  render() {
    return <div>child1组件 - {this.props.name}</div>;
  }
}
// 构造函数的私有属性等同于直接挂载到这个构造函数上面
Child1.defaultProps = {
  name: "tom",
  age: 20,
};

// 对于函数组件来说，因为没有static关键字
// 所以只能在组件上面直接挂载
const Child2 = ({ name = "jerry", age }) => {
  return (
    <div>
      child2组件 - {name} - {age}
    </div>
  );
};
// Child2.defaultProps = {
//   name: "jerry",
// };

const App = () => {
  return (
    <>
      <h2>props的默认值</h2>
      <Child1 />
      <Child2 age="20" />
    </>
  );
};

export default App;

// export default {
//   props: {
//     name: {
//       type: String,
//       default: "zhangsan"
//     }
//   }
// }
